Arquitectura orientada a servicios (SOA)

Introducción

Cada vez es más necesaria la utilización de soluciones software que estén probadas y permitan un desarrollo de aplicaciones más ágil y robusto.

Las arquitecturas orientadas a servicios (SOA Service Oriented Architecture ) son un tipo de diseño de software que permite reutilizar sus elementos.

Consiste en un conjunto de servicios independientes que trabajan juntos para realizar una tarea común, donde cada servicio se encarga de una parte específica y puede ser utilizado por varias aplicaciones.

 

SOA y servicios Web

SOA hace referencia a un conjunto de elementos (servicios) independientes que trabajan de manera conjunta para dar solución a un problema mayor.

Como cada servicio puede utilizar una tecnología diferente, SOA no se vincula a una única tecnología en concreto.

La idea principal de SOA es ofrecer soluciones software para crear aplicaciones a partir de diferentes módulos independientes.

Un servicio web permite un desarrollo software utilizando una arquitectura basada a servicios, pues los módulos creados pueden ser reutilizados en diferentes contextos y aplicaciones, existiendo módulos escritos en diferentes lenguajes.

Cuando se utiliza POC para dar lugar a SOA, se pasa por tres fases:

  1. Páginas web estáticas con poca interacción.

  2. Orientación a bases de datos y aplicaciones web de servidor

  3. Utilización masiva de diferentes objetos para el desarrollo.

    Es en esta tercera parte donde entra el desarrollo SOA y servicios WEB.

 

Elementos de una Arquitectura Orientadas a Servicios (SOA)

El diseño de una arquitectura basada en servicios está caracterizado por cuatro componentes arquitectónicos básicos:

 

Patron_interaccion_SOA

Patrón de interacción SOA con servicios web

 

Tecnologías y estándares relacionados con servicios web

Representación de estado REST

 

Topología de un servicio Web

El elemento más relevante de SOA es el servicio, pues es quien implementa una solución para un problema determinado y la pone a disposición de las solicitudes.

Las aplicaciones desarrolladas con SOA tienen tres características:

 

Los servicios web pueden ser utilizados en diferentes situaciones:

 

Plataformas para los servicios Web

En la actualidad disponemos de diferentes sistemas para el desarrollo de servicios web utilizando diferentes lenguajes, tecnologías y sistemas operativos. A pesar de ello, todas las soluciones utilizan una arquitectura SOA, lo que permite el intercambio de servicios de manera transparente a la tecnología subyacente.

Algunas de las plataformas más utilizadas son:

 

by Jose Manuel Pinillos